;
; appends string to the specified variable
;
(defmacro append-string (result &rest args)
  `(setf ,result (concatenate 'string ,result ,@args))
  )

;
; shorthand to the string concatenation function
;
(defmacro conc-string (arg1 &rest args)
  `(concatenate 'string ,arg1 ,@args))


; single indentation unit
(setf *indentation-unit* "    ")

;
; newline string
;
(setf *new-line* (make-string 1 :initial-element #\Newline))

;
; print multiple strings
;
(defun printm (context &rest elements)
  (let ((stream (ast-printing-context-ostream context)))
    (dolist (e elements)
      (princ e stream))))